home *** CD-ROM | disk | FTP | other *** search
/ Programming Windows 95 / Programming Windows 95.iso / code / CHAP20 / IMALLOC.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-01-01  |  1.3 KB  |  40 lines

  1. //-------------------------------------------------------------------
  2. // C Interface to private allocator
  3. //-------------------------------------------------------------------
  4. #define EXPORT extern "C" __declspec (dllexport)
  5.  
  6. EXPORT LPMALLOC CreateAllocator () ;
  7.  
  8. //-------------------------------------------------------------------
  9. // Implementation of allocator interface
  10. //-------------------------------------------------------------------
  11. #undef  INTERFACE
  12. #define INTERFACE DAlloc
  13.  
  14. DECLARE_INTERFACE_ (DAlloc, IMalloc)
  15.      {
  16.      // *** IUnknown methods ***
  17.      STDMETHOD  (QueryInterface) (THIS_ REFIID riid, LPVOID FAR *ppv) ;
  18.      STDMETHOD_ (ULONG, AddRef)  (THIS) ;
  19.      STDMETHOD_ (ULONG, Release) (THIS) ;
  20.  
  21.      // *** IMalloc methods ***
  22.      STDMETHOD_ (void *, Alloc)        (THIS_ ULONG cb) ;
  23.      STDMETHOD_ (void *, Realloc)      (THIS_ void *pv, ULONG cb) ;
  24.      STDMETHOD_ (void,   Free)         (THIS_ void *pv) ;
  25.      STDMETHOD_ (ULONG,  GetSize)      (THIS_ void *pv) ;
  26.      STDMETHOD_ (int,    DidAlloc)     (THIS_ void *pv) ;
  27.      STDMETHOD_ (void,   HeapMinimize) (THIS) ;
  28.  
  29. #ifndef CINTERFACE
  30. public :
  31.      DAlloc () ;
  32.      ~DAlloc () ;
  33.      BOOL Initialize () ;
  34.  
  35. private :
  36.      ULONG  RefCount ;
  37.      HANDLE hHeap ;
  38. #endif
  39.      } ;
  40.